]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
4 years agoscreencast: Always copy buffers in pipewiresrc
Sebastian Keller [Sun, 21 Aug 2022 14:00:40 +0000 (16:00 +0200)]
screencast: Always copy buffers in pipewiresrc

Pipewire 0.3.52 via commit a1f33a99 introduced a change that affects how
long pipewiresrc holds onto the pw_buffers it dequeued. Before that
change the pw_buffer was held until the end of the videoconvert element
at the beginning of the pipeline. After that change the pw_buffer was
held onto until the filesink at the end of the pipeline. This was
starving MetaScreenCastStreamSrc of pw_buffers to record new frames
into, resulting in the majority of frames being missed, especially in
situations in which the encoder was taking longer.

Pipewire 0.3.57 via commit 1ea1d525 will allow queuing the pw_buffer
early again via the `always-copy` option. This however is only a
workaround until a proper solution is found in either pipewire or
gstreamer that does not depend on copying the buffer contents and
instead queues the pw_buffer again after videoconvert as prior to
a1f33a99.

Since it is not clear yet when a proper solution will arrive, this makes
use of `always-copy` as a workaround for now and should be reverted once
it is no longer needed.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5585
Related: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2461
Related: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/283
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2436>

4 years agosignalTracker: Remove SignalTracker after its last signal got untracked
Sebastian Keller [Sun, 28 Aug 2022 22:03:50 +0000 (00:03 +0200)]
signalTracker: Remove SignalTracker after its last signal got untracked

The object the SignalTracker belongs to is stored in a map managed by
the SignalManager which keeps a reference to that object. This map is
never destroyed nor is any entry ever removed. This leads to all objects
that ever had SignalTrackers used on them being kept alive even after
all references outside of the SignalTracker are long gone. This then
also extends to other objects which are leaked indirectly through
reference chains from these objects.

And if some of those objects are GObjects, this will prevent them from
being finalized, leaking further resources. A StWidget for example will
not release its shadow textures.

Fix this by destroying the SignalTracker and removing it from the
SignalManager once the last signal it was tracking has been untracked.

A WeakMap could have been used as well, but we need the Map to be
iterable in some of the following changes.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5807
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5796
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2466>

4 years agosignalTracker: Don't try to create a new SignalTracker for disconnecting
Sebastian Keller [Mon, 29 Aug 2022 02:19:28 +0000 (04:19 +0200)]
signalTracker: Don't try to create a new SignalTracker for disconnecting

After the next commit, when some classes, such as PopupMenuManager try
to disconnect via a destroy handler, the SignalTracker might have
already been destroyed, so trying to get it from the SignalManager will
cause it to create a new one, which will then try to connect to the
destroy signal of the already destroyed object.

This could for example be triggered by changing backgrounds.

Fix this by not doing anything in disconnectObject if there is no
SignalTracker for that object.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2466>

4 years agoRevert "signalTracker: Use WeakMap in SignalManager to avoid leaking objects"
Sebastian Keller [Fri, 2 Sep 2022 16:37:13 +0000 (18:37 +0200)]
Revert "signalTracker: Use WeakMap in SignalManager to avoid leaking objects"

This reverts commit 085102be74f4c98094712a165e5128feaca50438.

We need the SignalManager map top be iterable at shutdown for some of
the following changes. A WeakMap is not iterable. This revert changes it
back to a regular Map, which re-introduces the leaks caused by this.
Those will be fixed differently by the two followup commits.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2466>

4 years agostatus/bluetooth: Indicate progress on toggle
Florian Müllner [Mon, 22 Aug 2022 22:06:42 +0000 (00:06 +0200)]
status/bluetooth: Indicate progress on toggle

Turning bluetooth on or off can be very slow ­– 10-15 seconds on
my system – and we currently don't provide any feedback that
something is indeed happening until the state changes at last.

Address this by using the `acquiring` icon when the adapter is
in a transitioning state.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5773

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2444>

4 years agostatus/bluetooth: Expose adapter-state
Florian Müllner [Tue, 23 Aug 2022 14:30:32 +0000 (16:30 +0200)]
status/bluetooth: Expose adapter-state

GnomeBluetooth now exposes a more precise state than the binary
"adapter fully powerered on/off" property. Expose that on the
BtClient object to make it available to the toggle and indicator.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5773

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2444>

4 years agoconfig: Check for new required GnomeBluetooth API
Florian Müllner [Thu, 1 Sep 2022 15:30:33 +0000 (17:30 +0200)]
config: Check for new required GnomeBluetooth API

Client.default_adapter_state is a recent API addition, so update
the HAVE_BLUETOOTH check accordingly before depending on it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2444>

4 years agocss: Shave padding off of the quick settings menu
Sam Hewitt [Wed, 31 Aug 2022 17:25:33 +0000 (14:55 -0230)]
css: Shave padding off of the quick settings menu

- reduce overall menu padding
- reduce internal padding on submenu
- tweak button sizing

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2463>

4 years agoUpdate Danish translation
Alan Mortensen [Sat, 3 Sep 2022 11:58:36 +0000 (11:58 +0000)]
Update Danish translation

4 years agoUpdate Latvian translation
Rūdolfs Mazurs [Sat, 3 Sep 2022 09:22:27 +0000 (09:22 +0000)]
Update Latvian translation

4 years agoUpdate Kazakh translation
Baurzhan Muftakhidinov [Sat, 3 Sep 2022 04:59:32 +0000 (04:59 +0000)]
Update Kazakh translation

4 years agopadOsd: Figure out label/edition UI positions from unchanged fonts
Carlos Garnacho [Sat, 30 Apr 2022 12:09:37 +0000 (14:09 +0200)]
padOsd: Figure out label/edition UI positions from unchanged fonts

We can figure out the position to render the text without resorting to
font sizes that make the whole text element sub-pixel size. As the
original labels in the SVG are themed invisible anyway, calculate the
button/ring/strip label and configuration UI position from their unchanged
size/location.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5415
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2288>

4 years agost/label: Don't guard against NULL text
Florian Müllner [Fri, 2 Sep 2022 16:46:13 +0000 (18:46 +0200)]
st/label: Don't guard against NULL text

Commit 9168f6055e marked the parameter as nullable, which is in
conflict with the precondition check. But given that NULL is
valid for the underlying ClutterText (and GtkLabel accepts it
as well), there's no strong argument for disallowing NULL, so
remove the precondition check.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2465>

4 years agoci: Bump image
Florian Müllner [Thu, 1 Sep 2022 15:50:09 +0000 (17:50 +0200)]
ci: Bump image

Mutter grew a dependency on colord, so bump the image to pull it in.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2464>

4 years agoUpdate Dutch translation
Nathan Follens [Thu, 1 Sep 2022 15:48:21 +0000 (15:48 +0000)]
Update Dutch translation

4 years agoUpdate Hungarian translation
Balázs Úr [Thu, 1 Sep 2022 00:07:52 +0000 (00:07 +0000)]
Update Hungarian translation

4 years agoUpdate Slovenian translation
Matej Urbančič [Wed, 31 Aug 2022 18:52:48 +0000 (18:52 +0000)]
Update Slovenian translation

4 years agostatus/volume: Request symbolic style for device menu items
Florian Müllner [Tue, 30 Aug 2022 16:31:06 +0000 (18:31 +0200)]
status/volume: Request symbolic style for device menu items

We get device icons from gnome-volume-control, which itself may
get them from pulseaudio. That is, we don't have control over
whether icon names are symbolic.

As we do want menu items to use symbolic icons, enforce that
via CSS instead.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5805

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2456>

4 years agoquickSettings: Override StButton:label property
Florian Müllner [Mon, 22 Aug 2022 23:30:18 +0000 (01:30 +0200)]
quickSettings: Override StButton:label property

StButton already has a :label property, so we should override it
instead of shadowing it with a new property of the same name, like
we already do for :icon-name.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2462>

4 years agocalendar: Correct handling of recurring events
Milan Crha [Mon, 6 Jun 2022 15:31:23 +0000 (17:31 +0200)]
calendar: Correct handling of recurring events

When a recurring event has deleted a single instance, it's received
as an event modification, thus make sure all of the old instances
are removed before adding the event to the list of events.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4592

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2328>

4 years agoshell/screenshot: Plug memory leak
Florian Müllner [Wed, 31 Aug 2022 10:51:54 +0000 (12:51 +0200)]
shell/screenshot: Plug memory leak

grab_screenshot_content() does not follow the usual pattern of
```
  task = g_task_new (...);
  g_task_run_in_thread (task, ...);
  g_object_unref (task);
```

That means we hold the original reference throughout the operation,
and must release it ourselves when done.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5501

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2461>

4 years agoUpdate Brazilian Portuguese translation
Leônidas Araújo [Wed, 31 Aug 2022 13:25:34 +0000 (13:25 +0000)]
Update Brazilian Portuguese translation

4 years agostatus/system: Set accessible name for screenshot item
Florian Müllner [Tue, 30 Aug 2022 16:10:46 +0000 (18:10 +0200)]
status/system: Set accessible name for screenshot item

Otherwise it shows up as plain "push button".

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2455>

4 years agoswitchMonitor: Fix initial selection on desktop
Yao Wei (魏銘廷) [Mon, 29 Aug 2022 08:45:05 +0000 (16:45 +0800)]
switchMonitor: Fix initial selection on desktop

Due to !2056 the monitor config is 2 instead of 4 on the desktop.
However, the constant `Meta.MonitorSwitchConfigType.UNKNOWN` is fixed to
4, and may cause the initial selection to be out of index thus fail to
display the switcher.  This replaces the above constant to the actual
length of the switcher items.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2451>

4 years agostatus/network: Stop using radio-mode for VPN items
Florian Müllner [Mon, 15 Aug 2022 15:40:52 +0000 (17:40 +0200)]
status/network: Stop using radio-mode for VPN items

If a device has multiple connections set up, then at most one of
those can be active at a time, which is why they are presented
as radio items.

In contrast, VPN connections are not mutually exclusive, each can
be turned on or off independently. Setting :radio-mode on them
currently means that VPN connections can be activated, but never
disabled.

So instead of abusing the :radio-mode property to give VPN items
the UI we want, use regular items that reflect the desired behavior
and explicitly set up the UI the way we want.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2426>

4 years agosignalTracker: Use WeakMap in SignalManager to avoid leaking objects
Sebastian Keller [Sun, 28 Aug 2022 22:03:50 +0000 (00:03 +0200)]
signalTracker: Use WeakMap in SignalManager to avoid leaking objects

The object the SignalTracker belongs to is stored in a map managed by
the SignalManager which keeps a reference to that object. This map is
never destroyed nor is any entry ever removed. This leads to all objects
that ever had SignalTrackers used on them being kept alive even after
all references outside of the SignalTracker are long gone. This then
also extends to other objects which are leaked indirectly through
reference chains from these objects.

And if some of those objects are GObjects, this will prevent them from
being finalized, leaking further resources. A StWidget for example will
not release its shadow textures.

Fix this by using a WeakMap in SignalManager.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5807
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5796
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2450>

4 years agoRevert "shell: Fix pixbuf reference leak saving screenshots"
msizanoen1 [Mon, 29 Aug 2022 14:53:33 +0000 (21:53 +0700)]
Revert "shell: Fix pixbuf reference leak saving screenshots"

This reverts commit f5754adb681d55e985147b56de9c2b30c8cbc9f1 in
accordance with https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2449#note_1539435.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2452>

4 years agoshell: Fix pixbuf reference leak saving screenshots
Dmitrii Naidolinskii [Sun, 28 Aug 2022 11:37:54 +0000 (16:37 +0500)]
shell: Fix pixbuf reference leak saving screenshots

When saving a screenshot, the GdkPixbuf created would be left
with a dangling reference after saving to disk (either leaked
on errors, or via an extra reference on success). Always unref
the pixbuf so it's either destroyed on error or there is a single
reference fully transferred to the caller of the function.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5501
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2449>

4 years agoUpdate Croatian translation
Goran Vidović [Sat, 27 Aug 2022 22:06:00 +0000 (22:06 +0000)]
Update Croatian translation

4 years agoFixed type in Czech translation
Marek Černocký [Thu, 25 Aug 2022 13:54:27 +0000 (15:54 +0200)]
Fixed type in Czech translation

4 years agoUpdated Czech translation
Marek Černocký [Thu, 25 Aug 2022 13:30:59 +0000 (15:30 +0200)]
Updated Czech translation

4 years agoUpdate Abkhazian translation
Nart Tlisha [Thu, 25 Aug 2022 10:34:07 +0000 (10:34 +0000)]
Update Abkhazian translation

4 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 24 Aug 2022 06:28:20 +0000 (08:28 +0200)]
Updated Spanish translation

4 years agokeyboard: Use the right property to figure out modifiers set size
Carlos Garnacho [Tue, 23 Aug 2022 16:29:09 +0000 (18:29 +0200)]
keyboard: Use the right property to figure out modifiers set size

During development of the OSK updates, this._modifiers turned from an
array into a Set(), but this location missed switching from length()
to size() to get the cardinality of the contained values.

As a result, the OSK misbehaved and resorted for key event forwarding
for impossible keyvals, instead of handing them directly to the IM.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5766
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2445>

4 years agostyle: High contrast fixes for buttons
Sam Hewitt [Mon, 22 Aug 2022 16:11:27 +0000 (13:41 -0230)]
style: High contrast fixes for buttons

- improves hover style; fixes #5765
- adds missing high contrast borders
- bumps colors for visibility

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2441>

4 years agostyle: Slightly increase app folder size
Georges Basile Stavracas Neto [Mon, 22 Aug 2022 19:37:37 +0000 (16:37 -0300)]
style: Slightly increase app folder size

So that it can handle the now always visible arrows without
downscaling the icons.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2442>

4 years agoRevert "appDisplay: Remove style of page indicators"
Georges Basile Stavracas Neto [Sat, 20 Aug 2022 21:36:38 +0000 (18:36 -0300)]
Revert "appDisplay: Remove style of page indicators"

This reverts commit 341cad764e1bb0ac36f9c711ba9cd600efdb71db.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5738
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2442>

4 years agoRevert "appDisplay: Reduce drag overshoot timeout"
Georges Basile Stavracas Neto [Sat, 20 Aug 2022 21:33:31 +0000 (18:33 -0300)]
Revert "appDisplay: Reduce drag overshoot timeout"

This reverts commit 01e43969e812e42c7218727506474f9f1b626fa7.

As per design feedback [1].

[1]
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2335#note_1525991

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2442>

4 years agostatus/system: Add screenshot item
Florian Müllner [Sun, 21 Aug 2022 16:23:06 +0000 (18:23 +0200)]
status/system: Add screenshot item

We got a shiny new screenshot UI last cycle, but only relatively
obscure ways of launching it: Keyboard shortcut or overview search.

The new quick settings provides us with a natural place to expose
the functionality more prominently, and at the same time reduce
the emptiness of the top row, in particular on systems without a
battery and when locked.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2439>

4 years agoscreenshot: Allow some shortcuts on lock screen
Florian Müllner [Sun, 21 Aug 2022 19:17:18 +0000 (21:17 +0200)]
screenshot: Allow some shortcuts on lock screen

We will expose the screenshot UI from quick settings, including
on the lock screen. It would be odd to restrict keyboard shortcuts
more than the more accessible UI, so relax the modes for the
screenshot-ui and screen-screenshot shortcuts.

We still disable all screenshot shortcuts on the login screen, as
users don't have an obvious way to retrieve the screenshot files.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2439>

4 years agoscreenshot: Only enable window screenshots when allowed by mode
Florian Müllner [Sun, 21 Aug 2022 19:07:52 +0000 (21:07 +0200)]
screenshot: Only enable window screenshots when allowed by mode

We currently don't take the session mode's `hasWindows` property
into account when deciding whether window screenshots should be
allowed. Right now that doesn't matter in practice, because all
the ways to bring up the screenshot UI are blocked in those modes
anyway. This is about to change though, so take the property into
account to prevent an information leak.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2439>

4 years agoscreenshot: Disable screencasts when locked
Florian Müllner [Sun, 21 Aug 2022 18:59:25 +0000 (20:59 +0200)]
screenshot: Disable screencasts when locked

It is currently not possible to bring up the screenshot UI while
locked, but that is about to change.

We still don't want screencasts in that case, because they are
much easier to abuse for filling up someone else's disk.

That restriction is enforced by inhibiting remote access in the
backend, so trying to create a screencast session will fail anyway.
Still, not offering an action that is unavailable is better than
having it fail silently, so do exactly that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2439>

4 years agostatus/system: "Move" spacer in desktop case
Florian Müllner [Sun, 21 Aug 2022 16:29:07 +0000 (18:29 +0200)]
status/system: "Move" spacer in desktop case

When we aren't showing the power toggle (read: on systems without
a battery), all items in the top are located on one side. Address
this by "moving" the spacer between "Settings" and "Screen Lock"
in that case to balance items a bit better.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2439>

4 years agostatus/system: Use icon-name property
Florian Müllner [Sun, 21 Aug 2022 16:24:06 +0000 (18:24 +0200)]
status/system: Use icon-name property

The quick settings code was first developed in an extension, which
meant it made sense to maintain compatibility with GNOME 42 and not
use the new :icon-name convenience property.

There is no good for sticking with that for GNOME 43 as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2439>

4 years agoUpdate Turkish translation
Emin Tufan Çetin [Mon, 22 Aug 2022 02:01:48 +0000 (02:01 +0000)]
Update Turkish translation

4 years agoUpdate Galician translation
Fran Dieguez [Sun, 21 Aug 2022 15:08:05 +0000 (15:08 +0000)]
Update Galician translation

4 years agoUpdate Croatian translation
Goran Vidović [Sat, 20 Aug 2022 21:54:45 +0000 (21:54 +0000)]
Update Croatian translation

4 years agodata: Update 'hide' and 'layout' OSK keys icons
Carlos Garnacho [Thu, 18 Aug 2022 11:21:29 +0000 (13:21 +0200)]
data: Update 'hide' and 'layout' OSK keys icons

Update these to the current mockups. Since there is now the extended
layout for terminals in the OSK, the downwards looking arrow we used for
the "hide OSK" action is visually too similar to the "cursor down" key
nearby.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5762
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2433>

4 years agostatus/location: Use better indicator icon
Florian Müllner [Thu, 18 Aug 2022 08:13:00 +0000 (10:13 +0200)]
status/location: Use better indicator icon

We've used find-location since the indicator was added, however
the icon theme got a more appropriate location-services-active
icon a while ago.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5755

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2430>

4 years agoquickSettings: Fix slider accessibility
Florian Müllner [Thu, 18 Aug 2022 08:28:23 +0000 (10:28 +0200)]
quickSettings: Fix slider accessibility

Since we put the actual slider into a bin to get a proper focus
indication, the slider isn't focused anymore and its accessible object
is therefore invisible to the screen reader.

Fix this by passing the slider's accessible object to the actor
that takes the focus.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2431>

4 years agoci: Use F36 image from mutter
Jonas Ådahl [Thu, 18 Aug 2022 16:43:54 +0000 (18:43 +0200)]
ci: Use F36 image from mutter

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2434>

4 years agostatus/nightLight: Hide when unsupported
Florian Müllner [Mon, 15 Aug 2022 12:33:00 +0000 (14:33 +0200)]
status/nightLight: Hide when unsupported

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5752

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2425>

4 years agoUpdate Catalan translation
Jordi Mas [Thu, 18 Aug 2022 15:25:38 +0000 (17:25 +0200)]
Update Catalan translation

4 years agoUpdate Hebrew translation
Yosef Or Boczko [Thu, 18 Aug 2022 10:44:48 +0000 (10:44 +0000)]
Update Hebrew translation

4 years agostatus/network: Use NM connectivity check URI for Portal Helper
Clerie Riese [Sun, 6 Mar 2022 15:02:52 +0000 (16:02 +0100)]
status/network: Use NM connectivity check URI for Portal Helper

NetworkManager can check if a network interface has "internet access" by
invoking a HTTP request.

The URI used for connectivity checking in NetworkManager can be configured
manually in NetworkManager.conf:

[connectivity]
uri=http://portal-check.exmaple.com/nm-check.txt

Portal Helper provides an argument to pass the URI that should be opened.
If this argument is empty it uses http://nmcheck.gnome.org as a fallback.

Pass the URI configured in NetworkManager to Portal Helper instead of
an empty string.

Fixes #1313

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2228>

4 years agocalendar: Use connectObject on _sectionList
Daniel van Vugt [Wed, 17 Aug 2022 08:26:28 +0000 (16:26 +0800)]
calendar: Use connectObject on _sectionList

This prevents _sync() being called after actor destruction (since actor
destruction became more reliable in mutter@3d94c7cc2) and so eliminates
this shutdown error:

```
(gnome-shell:35197): Gjs-CRITICAL **: 16:31:02.769: Object .Gjs_ui_calendar_Placeholder (0x559ed6e547e0), has been already disposed — impossible to set any property on it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
== Stack trace for context 0x559ed6022310 ==
 #0   559ed783c5a8 i   resource:///org/gnome/shell/ui/calendar.js:1012 (31955be5fc90 @ 148)
 #1   7ffef8f38230 b   self-hosted:1178 (32af8f6b0c40 @ 454)
 #2   559ed783c518 i   resource:///org/gnome/shell/ui/popupMenu.js:806 (31955be18ce0 @ 52)
 #3   559ed783c488 i   resource:///org/gnome/shell/ui/popupMenu.js:954 (31955be190b0 @ 168)
 #4   559ed783c3f8 i   resource:///org/gnome/shell/ui/panelMenu.js:189 (31955be88150 @ 41)
 #5   7ffef8f3de60 b   self-hosted:1178 (32af8f6b0c40 @ 423)
```

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2429>

4 years agoUpdate Chinese (China) translation
Luming Zh [Wed, 17 Aug 2022 15:14:39 +0000 (15:14 +0000)]
Update Chinese (China) translation

4 years agoUpdate Basque translation
Asier Sarasua Garmendia [Tue, 16 Aug 2022 10:48:22 +0000 (10:48 +0000)]
Update Basque translation

4 years agostyle: Visual papercut fixes for quicksettings
Sam Hewitt [Mon, 15 Aug 2022 17:30:47 +0000 (15:00 -0230)]
style: Visual papercut fixes for quicksettings

- fixes #5742

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2427>

4 years agoUpdate Polish translation
Piotr Drąg [Mon, 15 Aug 2022 14:18:41 +0000 (16:18 +0200)]
Update Polish translation

4 years agoUpdate Catalan translation
Jordi Mas [Mon, 15 Aug 2022 11:55:13 +0000 (13:55 +0200)]
Update Catalan translation

4 years agoUpdate Russian translation
Aleksandr Melman [Sat, 13 Aug 2022 11:29:01 +0000 (11:29 +0000)]
Update Russian translation

4 years agoUpdate Croatian translation
Goran Vidović [Fri, 12 Aug 2022 14:47:48 +0000 (14:47 +0000)]
Update Croatian translation

4 years agoUpdate Portuguese translation
Hugo Carvalho [Fri, 12 Aug 2022 11:46:44 +0000 (11:46 +0000)]
Update Portuguese translation

4 years agoUpdate Georgian translation
Zurab Kargareteli [Fri, 12 Aug 2022 03:40:18 +0000 (03:40 +0000)]
Update Georgian translation

4 years agoUpdate Serbian translation
Марко Костић [Thu, 11 Aug 2022 04:13:32 +0000 (04:13 +0000)]
Update Serbian translation

4 years agoUpdate Indonesian translation
Kukuh Syafaat [Thu, 11 Aug 2022 03:50:36 +0000 (03:50 +0000)]
Update Indonesian translation

4 years agoUpdate Persian translation
Danial Behzadi [Wed, 10 Aug 2022 19:52:42 +0000 (19:52 +0000)]
Update Persian translation

4 years agoBump version to 43.beta
Florian Müllner [Wed, 10 Aug 2022 16:15:56 +0000 (18:15 +0200)]
Bump version to 43.beta

Update NEWS.

4 years agostatus/bluetooth: Fix remembering set up devices
Florian Müllner [Mon, 8 Aug 2022 01:10:06 +0000 (03:10 +0200)]
status/bluetooth: Fix remembering set up devices

It is generally not possible to differentiate between systems
without bluetooth support, and systems where a bluetooth adapter
is powered down.

We work around that by tracking whether there are any set up devices,
and keep the bluetooth visible in that case, even when no adapter
is present.

However commit eeabdd150c7 moved updating the setting into the code
that handles adapter changes, which is exactly the place where we
carefully avoid changing the setting because it would be too
unreliable (devices may have already disappeared, or not yet
appeared).

Fix this by changing _setHadSetupDevices() to _syncHadSetupDevices()
and call that everywhere _sync() used to be called, *except* on
adapter changes.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5714

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2409>

4 years agostatus/bluetooth: Fix call to undefined method
Florian Müllner [Mon, 8 Aug 2022 00:54:11 +0000 (02:54 +0200)]
status/bluetooth: Fix call to undefined method

The method started out as private and was then made public without
updating the internal caller, whoops.

Spotted by Sebastian Keller.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5722

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2409>

4 years agokeyboard: Change page switching animation in emoji picker
Carlos Garnacho [Wed, 29 Jun 2022 18:26:27 +0000 (20:26 +0200)]
keyboard: Change page switching animation in emoji picker

Use a carousel animation to switch pages, and set up the emoji
picker to have the system text direction so that coordinate
flipping is mostly done for us in RTL.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5616
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Shuffle text direction initialization
Carlos Garnacho [Thu, 30 Jun 2022 09:41:12 +0000 (11:41 +0200)]
keyboard: Shuffle text direction initialization

We do set the full OSK as LTR since keymaps are defined in that
direction. Other actors inside the OSK might want differently so
move this piece of setup to init(), so child actors can set their
own without the OSK overwriting the value.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Use SwipeTracker for emoji panel page switching
Carlos Garnacho [Tue, 28 Jun 2022 21:47:04 +0000 (23:47 +0200)]
keyboard: Use SwipeTracker for emoji panel page switching

This allows handling scroll events, in addition to 1fg and pointer
gestures. 3fg gestures are less relevant here.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agoswipeTracker: Set up 1fg drag gesture in capture phase
Carlos Garnacho [Tue, 28 Jun 2022 21:45:15 +0000 (23:45 +0200)]
swipeTracker: Set up 1fg drag gesture in capture phase

This should be handled in the capture phase so containers setting
up the drag gesture have an opportunity to handle events from children.
This also follows what the 3fg swipe gesture does.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Propagate ratio changes to the emoji selection panel
Carlos Garnacho [Tue, 28 Jun 2022 16:53:56 +0000 (18:53 +0200)]
keyboard: Propagate ratio changes to the emoji selection panel

Update the emoji panel so it can handle ratio changes dynamically,
and propagate the ratio from the Keyboard itself, so that the
emoji panel has a size that fits the OSK panel it was launched
from.

This is more important now with widely varying ratios, like
extended keyboards.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agoosk-layouts: Fix proportions in malayalam OSK layout
Carlos Garnacho [Fri, 17 Jun 2022 11:23:09 +0000 (13:23 +0200)]
osk-layouts: Fix proportions in malayalam OSK layout

Expand a bit some keys to make both normal and shift levels square
and consistent in sizes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Add Hangul OSK keymap
Carlos Garnacho [Wed, 15 Jun 2022 13:49:19 +0000 (15:49 +0200)]
keyboard: Add Hangul OSK keymap

This keymap requires the corresponding input method for Hangul
input, and the hangul mode to be enabled. Look up for the right
state, and use a corresponding 'us' keymap for english input
otherwise, in order to follow hangul IM behavior.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agotheme: Tweak OSK style
Carlos Garnacho [Wed, 15 Jun 2022 11:19:30 +0000 (13:19 +0200)]
theme: Tweak OSK style

Add latched keys a distinct color again (mainly for alt/ctrl being
notoriously active), and tweak the suggestions box sizes so there are
no size jumps between an empty and a populated suggestions box.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agodata: Shuffle comma/dot keys in OSK keymaps
Carlos Garnacho [Tue, 14 Jun 2022 21:00:21 +0000 (23:00 +0200)]
data: Shuffle comma/dot keys in OSK keymaps

Make these closer to the mockups, on most locales at least.
Unclear/remaining are:

  am, ara, il, in+mal, ir, kg, mk, mn, rs, ru, th, ua

Since the extended OSK keymap is short on space, it coalesced
both keys together (i.e. extending the extra keys popup) so it
takes less room.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Let the OSK take 1/4th of height in portrait mode
Carlos Garnacho [Wed, 1 Jun 2022 15:39:57 +0000 (17:39 +0200)]
keyboard: Let the OSK take 1/4th of height in portrait mode

And let the keys shrink horizontally to cover the full area.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Always use ratio of visible level
Carlos Garnacho [Mon, 30 May 2022 21:12:51 +0000 (23:12 +0200)]
keyboard: Always use ratio of visible level

Since the OSK keymap actors are cached, we no longer update the aspect
container ratio as often as we should. Ensure to update the aspect ratio
with language/level changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agodata: Document JSON file format in OSK layouts README file
Carlos Garnacho [Fri, 22 Apr 2022 21:52:16 +0000 (23:52 +0200)]
data: Document JSON file format in OSK layouts README file

Remove some no longer so relevant information, and add this
newly relevant information for anyone that wants to add a new
OSK layout.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Use extended US keyboard for terminal mode
Carlos Garnacho [Fri, 22 Apr 2022 19:16:52 +0000 (21:16 +0200)]
keyboard: Use extended US keyboard for terminal mode

If the input hint is "terminal", use the extended keyboard.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agodata: Add "extended" US layout
Carlos Garnacho [Fri, 22 Apr 2022 19:04:56 +0000 (21:04 +0200)]
data: Add "extended" US layout

This is an US layout, but with all extra keys that cause nerdgasms.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Fill suggestion on button-press-event
Carlos Garnacho [Fri, 22 Apr 2022 14:19:14 +0000 (16:19 +0200)]
keyboard: Fill suggestion on button-press-event

Like OSK key buttons, we must avoid the default grabbing behavior
of StButton here. Hook to button-press-event to commit the selected
words, so we get a chance to prevent focus changes on the current
key focus.

Likewise, connect to ::touch-event to handle touch input.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agoibusManager: Add OSK completion mode
Carlos Garnacho [Fri, 22 Apr 2022 11:28:02 +0000 (13:28 +0200)]
ibusManager: Add OSK completion mode

This mode changes the current IBus engine to ibus-typing-booster
under the rug (i.e. no changes in keyboard status menu) for any
XKB engine selected.

In order to make it useful for the currently selected language,
the typing-booster dictionary is changed to the current XKB
layout language. And since the OSK has its own emoji panel,
typing-boosters own emoji completion is disabled.

These changes only apply as long as the OSK panel is shown,
reverting to the original engine and typing-booster configuration
after it is hidden. This in theory also caters for users that
do have ibus-typing-booster enabled as an input source.

The final effect is text prediction for the language that is
being typed, according to the OSK layout, given that
ibus-typing-booster and the relevant hunspell dictionaries are
used.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agodata: Migrate keyboard layouts to 'delete' action for backspace
Carlos Garnacho [Wed, 20 Apr 2022 21:39:07 +0000 (23:39 +0200)]
data: Migrate keyboard layouts to 'delete' action for backspace

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Add 'delete' OSK key action
Carlos Garnacho [Wed, 20 Apr 2022 21:18:27 +0000 (23:18 +0200)]
keyboard: Add 'delete' OSK key action

This action will replace CLUTTER_KEY_Backspace emission for
the OSK backspace key. Following the available mockups, implement
different modes of operation:

- Single tap deletes a single character
- Long tap starts deleting characters one by one
- Longer tap switches to word-by-word deletion

This is made possible via the input method surrounding text,
inspecting the string to look the previous char/word position
backwards, and relies on IM focus providing enough context.

Since deleting text and getting surrounding text are both
async operations, we make one happen after the other, until
the button is released.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agoinputMethod: Add signal/getter for surrounding text updates
Carlos Garnacho [Wed, 20 Apr 2022 21:16:38 +0000 (23:16 +0200)]
inputMethod: Add signal/getter for surrounding text updates

We need to keep track of those at places, add a signal and getter
so that this information can be accessed from the OSK.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Add/handle "modifier" action keys
Carlos Garnacho [Sat, 16 Apr 2022 11:06:09 +0000 (13:06 +0200)]
keyboard: Add/handle "modifier" action keys

These keys are handled so that the related modifier keyval (e.g. left
control) is toggled on, and flushed on the next non-modifier key
press submission.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Trigger OSK level changes on button release
Carlos Garnacho [Fri, 15 Apr 2022 17:47:09 +0000 (19:47 +0200)]
keyboard: Trigger OSK level changes on button release

Keep it consistent with the rest of the actions. For long press
handling (i.e. shift turning to caps lock), this also means the
release action should be cancelled after any long press, to prevent
both from taking effect at the same time.

Prior to this commit, we used to switch level (and hide the button
being pressed) on button press, which made its long press handler
never get a paired release and end up triggering caps lock.
Performing the action on release ensures the shift key button does
not fall into this situation, making this issue moot.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agodata: Move 'hide' action to using keyboard-hide-symbolic icon
Carlos Garnacho [Fri, 15 Apr 2022 15:39:46 +0000 (17:39 +0200)]
data: Move 'hide' action to using keyboard-hide-symbolic icon

We have this (so far quite similar) icon in-tree, use that so that
we can move away from a down arrow.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agodata: Move extra keys to JSON files
Carlos Garnacho [Fri, 15 Apr 2022 11:10:45 +0000 (13:10 +0200)]
data: Move extra keys to JSON files

Have these defined in the JSON files themselves, instead of trying
to add them from JS while minding the differences in number of levels
and rows.

This means more redundant data in the JSON files, but simplifies
OSK layout creation significantly, and allows finer control over the
appearance without quirks.

As a result, importing data from CLDR is no longer as straightforward
as running an script. After initial import, manual editions will be
required to add missing keys, assign key widths, and so on.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Add generic handling for key actions
Carlos Garnacho [Thu, 14 Apr 2022 19:09:27 +0000 (21:09 +0200)]
keyboard: Add generic handling for key actions

These actions are defined in the JSON files themselves, allowing
us to migrate away from the sets of pre/post default keys, and fold
them into the JSON files for fuller control on layout and appearance.

As a first migration step, handle the relevant actions in the buttons
created from the JSON files, so we can port these.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Drop needless signal from OSK Key object
Carlos Garnacho [Thu, 14 Apr 2022 18:49:00 +0000 (20:49 +0200)]
keyboard: Drop needless signal from OSK Key object

The 'pressed' signal will be emitted in the same circumstances now,
there's no need for a separate 'activated' signal.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Unify OSK key commit handling in single-state signal
Carlos Garnacho [Thu, 14 Apr 2022 18:42:30 +0000 (20:42 +0200)]
keyboard: Unify OSK key commit handling in single-state signal

Instead of having callers handle pressed+released, emit string
commits on a distinct signal that is emitted all at once during
release.

This also unifies the behavior of keys that have an extended keys
popup and not wrt press/release behavior and key repeat.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Separate aspect and behavior of OSK keys
Carlos Garnacho [Thu, 14 Apr 2022 12:46:03 +0000 (14:46 +0200)]
keyboard: Separate aspect and behavior of OSK keys

Add distinct properties for label/icon, and commit string/keyval
actions. This makes keys figure less things on their own, allows
disociating aspect and behavior (e.g. label '↲' and keyval 0x13),
and makes the fallbacks clearer (keyval and label resorting to
commit string).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agokeyboard: Read key width from model
Carlos Garnacho [Thu, 14 Apr 2022 11:20:49 +0000 (13:20 +0200)]
keyboard: Read key width from model

Handle a "width" property to key structs in the JSON files, and
use that (so far) to give the right width to space keys in layouts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>

4 years agodata: Remove double space key in Persian OSK layout
Carlos Garnacho [Thu, 14 Apr 2022 10:40:16 +0000 (12:40 +0200)]
data: Remove double space key in Persian OSK layout

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>